package com.guigu.tms.commons.entity.work;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.guigu.tms.commons.entity.aggregation.CoreOrg;
import com.guigu.tms.commons.entity.base.TruckDriver;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * <p>
 * 司机作业单
 * </p>
 *
 * @author zwj
 * @since 2022-09-27
 */
@TableName("pd_driver_job")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DriverJob implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id")
    private String id;

    /**
     * 起始机构id
     * ->对应一对一的机构对象
     */
    private String startAgencyId;

    @TableField(exist = false)
    private CoreOrg startAgency;
    /**
     * 目的机构id
     * ->对应1对1的机构对象
     */
    private String endAgencyId;
    @TableField(exist = false)
    private CoreOrg endAgency;
    //pd_org

    /**
     * 作业状态，1为待执行（对应 待提货）、2为进行中（对应在途）、3为改派（对应 已交付）、4为已完成（对应 已交付）、5为已作废
     */
    private Integer status;

    /**
     * 司机id
     * ->对应一对一的司机对象
     */
    private String driverId;
    @TableField(exist = false)
    private  TruckDriver driver;
    /**
     * 运输任务id
     * ->对应1对1的运输任务对象
     */
    private String taskTransportId;
    @TableField(exist = false)
    private TaskTransport taskTransport;
    /**
     * 提货对接人
     */
    private String startHandover;

    /**
     * 交付对接人
     */
    private String finishHandover;

    /**
     * 计划发车时间
     */
    private Date planDepartureTime;

    /**
     * 实际发车时间
     */
    private Date actualDepartureTime;

    /**
     * 计划到达时间
     */
    private Date planArrivalTime;

    /**
     * 实际到达时间
     */
    private Date actualArrivalTime;

    /**
     * 创建时间
     */
    private Date createTime;

}
